package com.engine4cloud.tdf.education.dto.result;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 课程
 *
 * @author wenjie
 * @date 2024-07-30 14:56:55
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "课程")
public class EduCourseResultDTO extends CreateTimeResultDTO {

    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 课程编号
     */
    @Schema(description = "课程编号")
    private String code;

    /**
     * 课程名称
     */
    @Schema(description = "课程名称")
    private String name;

    /**
     * 是否必修
     */
    @Schema(description = "是否必修")
    private String isRequired;

    /**
     * 课时
     */
    @Schema(description = "课时")
    private BigDecimal periods;

    /**
     * 课程开始时间
     */
    @Schema(description = "课程开始时间")
    private LocalDateTime startTime;

    /**
     * 课程结束时间
     */
    @Schema(description = "课程结束时间")
    private LocalDateTime endTime;

    /**
     * 授课类型
     */
    @Schema(description = "授课类型")
    private String progressType;

    /**
     * 教育形式
     */
    @Schema(description = "教育形式")
    private String format;

    /**
     * 教育形式名称
     */
    @Schema(description = "教育形式名称")
    private String formatName;

    /**
     * 封面地址
     */
    @Schema(description = "封面地址")
    private String coverUrl;

    /**
     * 课程描述
     */
    @Schema(description = "课程描述")
    private String describe;

    /**
     * 是否发布
     */
    @Schema(description = "是否发布")
    private String isPublish;


    @Schema(description = "课程资源")
    private List<EduResourceResultDTO> resourceList;


    @Schema(description = "学组")
    private List<EduGroupResultDTO> groupList;
}